home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / SUNCLOCK.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-03-04  |  12.1 KB  |  434 lines

  1. 10  'SUNCLOCK - 24 DEC 92 rev. 28 FEB 97
  2. 20  'by George Murphy VE3ERP, 77 McKenzie St., Orillia, ON  L3V 6A6, CANADA
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  CLS:KEY OFF
  5. 50  DIM J$(7)                        'dimension day name variables
  6. 60  DIM MO$(12)                      'dimension month name variables
  7. 70  DIM M$(12),D(12),D$(12)
  8. 80  PI=3.14159
  9. 90  SCREEN 9                        '640 x 350 pixel graphics monitor
  10. 100  '
  11. 110  '.....load variables
  12. 120  OPEN"I",1,"\data\sunclock.fil"
  13. 130  IF EOF(1)THEN 160
  14. 140  INPUT#1,NA$,SX$,LX,LO
  15. 150  GOTO 130
  16. 160  CLOSE
  17. 170  GOSUB 1670
  18. 180  '
  19. 190  DATA Sun,Mon,Tue,Wed,Thu,Fri,Sat
  20. 200  DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
  21. 210   FOR Z=1 TO 7:READ J$(Z):NEXT Z
  22. 220   FOR Z=1 TO 12:READ MO$(Z):NEXT Z
  23. 230  '
  24. 240  '.....start
  25. 250  SEC2=60        'locator for "Press any key to exit"
  26. 260  ASP=0.735       'aspect ratio factor
  27. 270  CX=311:CY=104  'initial coordinates of dial centre
  28. 280  LIN=8          'initial line for text
  29. 290  RD=131         'length of dial radial
  30. 300  RN=98          'length of 5 minute markers radial
  31. 310  RS=98          'length of seconds radial
  32. 320  RM=86          'length of minutes radial
  33. 330  RH=65          'length of hours radial
  34. 340  '
  35. 350  '.....start one minute cycle
  36. 360  IF VAL(TIME$)<LAST THEN CLEAR:GOTO 10     'midnight
  37. 370  LAST=VAL(TIME$)
  38. 380  C1=12          'color 12 (red)
  39. 390  C2=7           'color 2 (green)
  40. 400  C3=1           'color 3 (blue)
  41. 410  '
  42. 420  '.....draw clock face
  43. 430  LIN=LIN+1                        'shift display one line down
  44. 440  IF LIN=16 THEN 240               'start over at top of screen
  45. 450  CY=CY+14                         'shift Y coordinate one line down
  46. 460  RO=RD+16                         'radius of outer ring
  47. 470  RI=RD-10                         'radius of inner ring
  48. 480  RP=RO/COS(PI/6)                  'radius to corner of hexagon
  49. 490  HX=TAN(PI/6)*RO                  '1/2 length of hexagon side
  50. 500  '.....draw hexagon
  51. 510  COLOR C2,C3
  52. 520  LINE (CX-HX,CY-RO*ASP)-(CX+HX,CY-RO*ASP)
  53. 530  LINE -(CX+RP,CY)
  54. 540  LINE -(CX+HX,CY+RO*ASP)
  55. 550  LINE -(CX-HX,CY+RO*ASP)
  56. 560  LINE -(CX-RP,CY)
  57. 570  LINE -(CX-HX,CY-RO*ASP)
  58. 580  LOCATE LIN+9,(80-LEN(SX$))/2:PRINT SX$;
  59. 590  CIRCLE(CX,CY),RI                 'draw inner ring
  60. 600  '
  61. 610  L=PI/6                           '5 minute marker angle in radians
  62. 620  COLOR C2,C3
  63. 630  FOR Z=1 TO 12                    'draw 5 minute markers
  64. 640   DX=SIN(L*Z)*RN/ASP
  65. 650   DY=COS(L*Z)*RN
  66. 660   CIRCLE(CX+DX,CY+DY),7
  67. 670   CIRCLE(CX+DX,CY+DY),8
  68. 680  NEXT Z
  69. 690  '
  70. 700  HRS=VAL(LEFT$(TIME$,2))          'hour
  71. 710  MIN=VAL(MID$(TIME$,4,2))         'minute
  72. 720  IF HRS>12 THEN HRS=HRS-12        'convert 24 hr. clock to 12 hr. clock
  73. 730  HS=HRS*30+MIN/2+180              'hours angle in degrees
  74. 740  HS=-HS*PI/180                    'hours angle in radians, clockwise rotation
  75. 750  HX=SIN(HS)*RH                    'X coordinate of hour hand
  76. 760  HX=HX/ASP                        'aspect ratio correction
  77. 770  HY=COS(HS)*RH                    'Y coordinate of hour hand
  78. 780  '
  79. 790  '.....start seconds counter
  80. 800  IF INKEY$<>""THEN 3630
  81. 810  T=INT(TIMER)                     'current time to nearest second
  82. 820  IF T=INT(TIMER)THEN 820          'delay until next second
  83. 830  SEC=VAL(RIGHT$(TIME$,2))         'get seconds
  84. 840  '
  85. 850  '.....seconds
  86. 860  COLOR C3,C3                      'background color
  87. 870  CIRCLE (CX+SX,CY+SY),4           'subdue seconds indicator
  88. 880  '
  89. 890  S=SEC*6+180                      'seconds angle in degrees
  90. 900  LS=-S*PI/180                     'angle in radians, clockwise rotation
  91. 910  SX=SIN(LS)*RS                    'X coordinate of second hand
  92. 920  SX=SX/ASP                        'aspect ratio correction
  93. 930  SY=COS(LS)*RS                    'Y coordinate of second hand
  94. 940  '
  95. 950  COLOR C1,C3
  96. 960  CIRCLE (CX+SX,CY+SY),4           'print new seconds indicator
  97. 970  SEC2=SEC2-1:IF SEC2=2 THEN SEC2=59:LOCATE 25:PRINT STRING$(24,32);
  98. 980  LOCATE 25,SEC2:PRINT "Press any key to Exit ";
  99. 990  '
  100. 1000  GOSUB 1430                       'get day of week and date J$ & D$
  101. 1010  JD$=J$+D$                        'day & date
  102. 1020  COLOR C2,1
  103. 1030  LOCATE LIN-5,33:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  104. 1040  LOCATE LIN-4,33:PRINT"OPEN            OPEN"
  105. 1050  LOCATE LIN-3,33:PRINT"SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  106. 1060  LOCATE LIN-4,(80-LEN(JD$))/2     'centre day and date printout
  107. 1070  PRINT JD$                        'print day & date
  108. 1080  LOCATE LIN-2,29:PRINT USING "##.#";HD;
  109. 1090  PRINT " hrs. of daylight"
  110. 1100  LOCATE LIN-1,37:PRINT"to-day"
  111. 1110  LOCATE LIN,29:PRINT "(";SU$          'sunrise
  112. 1120  LOCATE LIN,39:PRINT "--"
  113. 1130  LOCATE LIN,41:PRINT SD$;" )"           'sunset
  114. 1140  LOCATE LIN+1,39:PRINT"at"
  115. 1150  LOCATE LIN+2,(80-LEN(NA$))/2          'centre name of community
  116. 1160  PRINT NA$
  117. 1170  LOCATE LIN+3,33:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  118. 1180  LOCATE LIN+4,33:PRINT"OPEN            OPEN"
  119. 1190  LOCATE LIN+5,33:PRINT"SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  120. 1200  LOCATE LIN+4,36                 'centre digital time printout
  121. 1210  PRINT TIME$                     'print digital time
  122. 1220  COLOR C1,C3
  123. 1230  CIRCLE (CX,CY),3                'draw dial centre
  124. 1240  PAINT(CX,CY+1)                  'fill dial centre
  125. 1250  LINE (CX,CY)-(CX+HX,CY+HY)      'print hour hand
  126. 1260  '
  127. 1270  '.....minutes
  128. 1280  COLOR C3,C3                     'color blank
  129. 1290  LINE (CX,CY)-(CX+MX,CY+MY)      'blank current minute hand
  130. 1300  M=MIN*6+SEC/10+180              'minutes angle in degrees
  131. 1310  IF SEC=0 THEN M=M+6
  132. 1320  MS=-M*PI/180                    'angle in radians, clockwise rotation
  133. 1330  MX=SIN(MS)*RM                   'X coordinate of minute hand
  134. 1340  MX=MX/ASP                       'aspect ratio correction
  135. 1350  MY=COS(MS)*RM                   'Y coordinate of minute hand
  136. 1360  '
  137. 1370  COLOR C1,C3                     'color blank
  138. 1380  LINE (CX,CY)-(CX+MX,CY+MY)      'print new minute hand
  139. 1390  '
  140. 1400  IF SEC=0 THEN CLS:GOTO 350      'end of 1 minute cycle
  141. 1410  GOTO 790                        'end of 1 second cycle
  142. 1420  '
  143. 1430  '.....day of week subroutine
  144. 1440  MO=VAL(LEFT$(DATE$,2))          'month no.
  145. 1450  M$=MO$(MO)                      'month name
  146. 1460  DA=VAL(MID$(DATE$,4,2))         'day no.
  147. 1470  D$=RIGHT$(STR$(DA),2)           'day name
  148. 1480  IF LEN(D$)=2 THEN 1500          'insert leading space to single digit day
  149. 1490  GOTO 1480
  150. 1500  D$=" "+M$+" "+D$                'month & day e.g. Nov.  9
  151. 1510  '
  152. 1520  '.....calculate day of week
  153. 1530  YR=VAL(RIGHT$(DATE$,4))         'year
  154. 1540  K=INT(0.6+1/MO)
  155. 1550  L=YR-K
  156. 1560  O=MO+12*K
  157. 1570  P=L/100
  158. 1580  Z1=INT(P/4)
  159. 1590  Z2=INT(P)
  160. 1600  Z3=INT(5*L/4)
  161. 1610  Z4=INT(13*(O+1)/5)
  162. 1620  Z=Z4+Z3-Z2+Z1+DA-1
  163. 1630  ZZ=Z-(7*INT(Z/7))+1
  164. 1640  J$=J$(ZZ)                       'name of day e.g. Friday
  165. 1650  RETURN
  166. 1660  '
  167. 1670  '.....calculate variables
  168. 1680  COLOR 7,0:CLS
  169. 1690  UL$=STRING$(80,205)
  170. 1700  '
  171. 1710  IF LX>0 THEN LX$="<UNK! {00F8}>N"ELSE LX$="<UNK! {00F8}>S"
  172. 1720  LX$=STR$(ABS(LX))+LX$
  173. 1730  IF LO>0 THEN LO$="<UNK! {00F8}>W"ELSE LO$="<UNK! {00F8}>E"
  174. 1740  LO$=STR$(ABS(LO))+LO$
  175. 1750  LC$=LX$+","+LO$                        'lat.& long. of location
  176. 1760  LG=LEN(LC$)
  177. 1770  LG=LEN(LC$)
  178. 1780  H$="###.##"
  179. 1790  GOSUB 1820
  180. 1800  RETURN
  181. 1810  '
  182. 1820  '.....Sunrise/Sunset
  183. 1830  'based on DAYLIGHT program, HAM-SOFT disk# 1247
  184. 1840  AM$=" am":PM$=" pm"
  185. 1850  '.....inputs
  186. 1860  Z1=LX
  187. 1870  IF Z1<0 THEN Z1$="S"ELSE Z1$="N"
  188. 1880  LAT=Z1*0.0174533
  189. 1890  ZONE=ZON*PI/180
  190. 1900  Z2=LO
  191. 1910   FOR Z=0 TO 12
  192. 1920   IF ABS(Z2)>=Z*15-7.5 THEN ZON=Z*SGN(Z2)
  193. 1930   NEXT Z
  194. 1940  ZONE=ZON*15*PI/180
  195. 1950  IF Z2<0 THEN Z2$="E"ELSE Z2$="W"
  196. 1960  LONG=Z2*0.0174533
  197. 1970  H=VAL(RIGHT$(DATE$,4))
  198. 1980  I=VAL(LEFT$(DATE$,2))
  199. 1990  J=VAL(MID$(DATE$,4,2))
  200. 2000  I$=M$(I)
  201. 2010  '.....local standard time
  202. 2020  STC=-ZON      'solar time zone
  203. 2030  '.....day of year
  204. 2040  K=INT((I+9)/12)
  205. 2050  X=H/4
  206. 2060  Y=INT(X)
  207. 2070  Z=X-Y
  208. 2080  IF Z=0 THEN 2100
  209. 2090  K=K*2
  210. 2100  H=INT(275*I/9)
  211. 2110  H=H+J-K-30
  212. 2120  '.....sunrise phenomena
  213. 2130  I=0
  214. 2140  J=PI/2
  215. 2150  GOSUB 2500  'approximate time
  216. 2160  '.....local solar time
  217. 2170  R=-0.0145439
  218. 2180  GOSUB 2900 'coordinate conversion
  219. 2190  '.....local standard time
  220. 2200  W$=V$:IF SX$="DAYLIGHT SAVING TIME"THEN ADD=1 ELSE ADD=0
  221. 2210  GOSUB 3490
  222. 2220  RISE=V+X/60
  223. 2230  SU$=W$+AM$
  224. 2240  DCL=Q*180/PI
  225. 2250  NOON=DCL
  226. 2260  '.....azimuth
  227. 2270  AZ=180-AZ
  228. 2280  AZ(1)=AZ
  229. 2290  '
  230. 2300  '.....sunset phenomena
  231. 2310  I=1
  232. 2320  J=PI*1.5
  233. 2330  GOSUB 2500    'approximate time
  234. 2340  '.....local solar time
  235. 2350  R=-0.0145439
  236. 2360  GOSUB 2900
  237. 2370  '.....local standard time
  238. 2380  W$=V$:IF SX$="DAYLIGHT SAVING TIME"THEN ADD=1 ELSE ADD=0
  239. 2390  GOSUB 3490
  240. 2400  SET=V+X/60:HD=SET-RISE   'hours of daylight
  241. 2410  SD$=W$+PM$
  242. 2420  '.....declination
  243. 2430  DCL=Q*180/PI
  244. 2440  NOON=(NOON+DCL)/2      'approx declination at noon
  245. 2450  '.....azimuth
  246. 2460  AZ=180+AZ
  247. 2470  AZ(2)=AZ
  248. 2480  RETURN
  249. 2490  '
  250. 2500  '.....approximate time
  251. 2510  K=H+((J+LONG)/(PI*2))
  252. 2520  '.....solar mean anomaly
  253. 2530  L=K*0.017202
  254. 2540  L=L-0.0574039
  255. 2550  '.....solar true longitude
  256. 2560  Z=SIN(L)
  257. 2570  M=L+0.0334405*Z
  258. 2580  Z=SIN(2*L)
  259. 2590  M=M+0.000349065*Z
  260. 2600  M=M+4.93289
  261. 2610  '.....quadrant determination
  262. 2620  Z=M
  263. 2630  GOSUB 3400
  264. 2640  M=Z
  265. 2650  X=M/(PI/2)
  266. 2660  Y=INT(X)
  267. 2670  Z=X-Y
  268. 2680  IF Z<>0 THEN 2700
  269. 2690  M=M+4.847E-06
  270. 2700  N=2
  271. 2710  IF M>(PI*1.5) THEN 2760
  272. 2720  N=1
  273. 2730  IF M>(PI/2) THEN 2760
  274. 2740  N=0
  275. 2750  '.....solar right ascension
  276. 2760  P=0.91746*TAN(M)
  277. 2770  P=ATN(P)
  278. 2780  '.....quadrant adjustment
  279. 2790  IF N=0 THEN 2850
  280. 2800  IF N=2 THEN 2830
  281. 2810  P=P+PI
  282. 2820  GOTO 2850
  283. 2830  P=P+PI*2
  284. 2840  '.....solar declination
  285. 2850  Q=0.39782*SIN(M)
  286. 2860  Q=Q/SQR(-Q*Q+1)
  287. 2870  Q=ATN(Q)
  288. 2880  RETURN
  289. 2890  '
  290. 2900  '.....coordinate conversion
  291. 2910  S=R-(SIN(Q)*SIN(LAT))
  292. 2920  S=S/(COS(Q)*COS(LAT))
  293. 2930  '.....null phenomenon
  294. 2940  Z=ABS(S)
  295. 2950  IF Z<=1 THEN 2990
  296. 2960  V=0
  297. 2970  RETURN
  298. 2980  '
  299. 2990  '.....adjustment
  300. 3000  S=S/SQR(-S*S+1)
  301. 3010  S=-ATN(S)+PI/2
  302. 3020  IF I=1 THEN 3040
  303. 3030  S=PI*2-S
  304. 3040  '.....local apparent time
  305. 3050  Z=0.0172028*K
  306. 3060  T=S+P-Z-1.73364
  307. 3070  '.....universal time
  308. 3080  U=T+LONG
  309. 3090  '.....wall clock time
  310. 3100  V=U-ZONE
  311. 3110  '.....decimal to sexagesimal
  312. 3120  Z=V
  313. 3130  GOSUB 3400
  314. 3140  Z=Z*3.81972
  315. 3150  '.....azimuth
  316. 3160  HR=(12-Z)*15                'hour angle in degrees
  317. 3170  HRA=HR*PI/180               'hour angle in radians
  318. 3180  X=SIN(Q)*COS(LAT)-COS(Q)*SIN(LAT)*COS(HRA)
  319. 3190  ZA=ATN(X/SQR(-X*X+1))+PI/2  'azimuth in radians
  320. 3200  AZ=ZA*180/PI                'azimuth in degrees
  321. 3210  IF AZ<0 THEN AZ=AZ+360
  322. 3220  V=INT(Z)
  323. 3230  W=(Z-V)*60
  324. 3240  X=INT(W)
  325. 3250  Y=W-X
  326. 3260  IF Y<0.5 THEN 3280
  327. 3270  X=X+1
  328. 3280  IF X<60 THEN 3310
  329. 3290  V=V+1
  330. 3300  X=0
  331. 3310  '.....conventional format
  332. 3320  Z$="00"
  333. 3330  HR$=MID$(STR$(V),2)
  334. 3340  HR$=RIGHT$(Z$+HR$,2)
  335. 3350  MI$=MID$(STR$(X),2)
  336. 3360  MI$=RIGHT$(Z$+MI$,2)
  337. 3370  V$=HR$+":"+MI$
  338. 3380  RETURN
  339. 3390  '
  340. 3400  '.....normalization
  341. 3410  IF Z>=0 THEN 3440
  342. 3420  Z=Z+PI*2
  343. 3430  GOTO 3400
  344. 3440  IF Z<PI*2 THEN 3470
  345. 3450  Z=Z-PI*2
  346. 3460  GOTO 3440
  347. 3470  RETURN
  348. 3480  '
  349. 3490  '.....political time
  350. 3500  LT=VAL(LEFT$(W$,2)):        RT=VAL(RIGHT$(W$,2))
  351. 3510  LT=LT+INT(ADD):             RT=(RT+(ADD-INT(ADD))*60)
  352. 3520  IF RT>=60 THEN RT=60-RT:LT=LT+1
  353. 3530  IF LT=24 THEN LT=12:GOTO 3560
  354. 3540  IF LT>24 THEN LT=LT-12:PM$=AM$
  355. 3550  IF LT>12 THEN LT=LT-12
  356. 3560  LT$=STR$(LT):               RT$=STR$(RT)
  357. 3570  LT$=RIGHT$(LT$,LEN(LT$)-1): RT$=RIGHT$(RT$,LEN(RT$)-1)
  358. 3580  IF LEN(LT$)<2 THEN LT$=" "+LT$:GOTO 3580
  359. 3590  IF LEN(RT$)<2 THEN RT$="0"+RT$:GOTO 3590
  360. 3600  W$=LT$+":"+RT$
  361. 3610  RETURN
  362. 3620  '
  363. 3630  '.....exit/change parameters
  364. 3640  SCREEN 0:CLS:LOCATE 11,16:COLOR 14
  365. 3650  PRINT "Press any key to change variable paramaters....."
  366. 3660  LOCATE 13,16
  367. 3670  PRINT "otherwise this note will vanish in 4 seconds and"
  368. 3680  LOCATE 15,16
  369. 3690  PRINT "the program will end............................"
  370. 3700  COLOR 7,0
  371. 3710  T1=TIMER
  372. 3720  IF INKEY$<>""THEN 3770
  373. 3730  T2=TIMER
  374. 3740  IF INT(T2-T1)=4 THEN CLS:RUN EX$
  375. 3750  GOTO 3720
  376. 3760  '
  377. 3770  '.....change parameters
  378. 3780  CLS
  379. 3790  PRINT "The notations 'STANDARD TIME' and 'DAYLIGHT SAVING TIME' refer ";
  380. 3800  PRINT "only to the"
  381. 3810  PRINT "times of sunup and sundown shown on the clock dial."
  382. 3820  PRINT
  383. 3830  PRINT "You can change settings at any time."
  384. 3840  COLOR 0,7:PRINT "'";SX$;"'";" is the current setting."
  385. 3850  COLOR 7,0
  386. 3860  PRINT "Do you want to switch the setting now?  (y/n)"
  387. 3870  Z$=INKEY$
  388. 3880  IF Z$="n"OR Z$="N"THEN 3930
  389. 3890  IF Z$="y"OR Z$="Y"THEN 3910
  390. 3900  GOTO 3870
  391. 3910  IF SX$=""OR SX$="DAYLIGHT SAVING TIME"THEN SX$="STANDARD TIME":GOTO 3930
  392. 3920  IF SX$="STANDARD TIME"THEN SX$="DAYLIGHT SAVING TIME":GOTO 3930
  393. 3930  COLOR 0,7:PRINT "'";SX$;"'";" is the new setting."
  394. 3940  COLOR 7,0
  395. 3950  PRINT
  396. 3960  PRINT "The time shown by the clock hands and in the digital display is ";
  397. 3970  PRINT "the time you";
  398. 3980  PRINT "have set on your computer's internal clock."
  399. 3990  PRINT STRING$(80,205);
  400. 4000  PRINT "Current location is ";
  401. 4010  COLOR 0,7:PRINT " ";NA$;" ":COLOR 7,0
  402. 4020  PRINT ".....Press <ENTER> if OK or....."
  403. 4030  LINE INPUT "ENTER name of some other location? ";Z$
  404. 4040  IF Z$=""THEN 4060
  405. 4050  NA$=Z$:LN=CSRLIN-3:VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN:GOTO 4000
  406. 4060  PRINT
  407. 4070  IF SGN(LX)=1 THEN L$="N."ELSE L$="S."
  408. 4080  PRINT "Current latitude used in calculations is ";
  409. 4090  COLOR 0,7:PRINT ABS(LX);"<UNK! {00F8}>";L$;" ":COLOR 7,0
  410. 4100  PRINT ".....Press <ENTER> if OK or....."
  411. 4110  PRINT"ENTER latitude in decimal degrees (minus if South) of ";NA$;:INPUT Z$
  412. 4120  IF Z$=""THEN 4150
  413. 4130  LX=VAL(Z$)
  414. 4140  LN=CSRLIN-3:VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN:GOTO 4070
  415. 4150  PRINT
  416. 4160  IF SGN(LO)=1 THEN L$="W."ELSE L$="E."
  417. 4170  PRINT "Current longitude used in calculations is ";
  418. 4180  COLOR 0,7:PRINT ABS(LO);"<UNK! {00F8}>";L$;" ":COLOR 7,0
  419. 4190  PRINT ".....Press <ENTER> if OK or....."
  420. 4200  PRINT"ENTER longitude in decimal degrees (minus if West) of ";NA$;:INPUT Z$
  421. 4210  IF Z$=""THEN 4250
  422. 4220  LO=-VAL(Z$)
  423. 4230  LN=CSRLIN-3:VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN:GOTO 4160
  424. 4240  '
  425. 4250  '.....save data
  426. 4260  OPEN"O",1,"\data\sunclock.fil"
  427. 4270  WRITE#1,NA$
  428. 4280  WRITE#1,SX$
  429. 4290  PRINT#1,LX
  430. 4300  PRINT#1,LO
  431. 4310  CLOSE
  432. 4320  CLEAR:GOTO 10
  433. 4330  END
  434.